package com.hyt.it.ogt.ksmonitor.statistics.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hyt.it.ogt.ksmonitor.statistics.model.MonitorStatisticsVO;
import com.hyt.it.ogt.ksmonitor.statistics.model.CandidateStatisticsAddVO;
import com.hyt.it.ogt.ksmonitor.statistics.model.entity.KwMonitorStatistics;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @author 朱振宇
 * @since 2022-12-15
 */
public interface IMonitorStatisticsService extends IService<KwMonitorStatistics> {

    boolean addTotal(CandidateStatisticsAddVO candidateStatisticsAddVO);

    boolean addMonitorStatistics(MonitorStatisticsVO monitorStatisticsVO);

    boolean updateMonitorStatisticsNum(String id, long source, long target);

    List<MonitorStatisticsVO> findMonitorStatisticsList(String examId);

    List<MonitorStatisticsVO> findMonitorStatisticsListWithNullRoomId(String examId);

    List<MonitorStatisticsVO> findMonitorStatisticsList(String examId, List<String> roomIds);

    List<MonitorStatisticsVO> findMonitorStatisticsList(LocalDateTime startTime, LocalDateTime endTime);

    MonitorStatisticsVO getMonitorStatistics(String examId, Integer statisticsType);

    MonitorStatisticsVO getMonitorStatisticsByRoomId(String examId, String roomId, Integer statisticsType);

    Integer getCount(String examId, String roomId, Integer statisticsType);
}
